package com.eagle.common.core.base;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @param <U>
 * @param <ID>
 * @author wcy
 * Date: 2017/9/6
 * Time: 19:54
 */
public interface Auditable<U, ID extends Serializable> extends Persistable<ID> {

    /**
     * 获取创建人
     *
     * @return 泛型对象
     */
    U getCreateBy();

    /**
     * 设置创建人
     *
     * @param var1 创建人
     */
    void setCreateBy(U var1);

    /**
     * 获取创建日期
     *
     * @return 日期
     */
    LocalDateTime getGmtCreate();

    /**
     * 设置创建日期
     *
     * @param var1
     */
    void setGmtCreate(LocalDateTime var1);

    /**
     * 获取更新人
     *
     * @return 泛型对象
     */
    U getModifiedBy();

    /**
     * 设置更新人
     *
     * @param var1
     */
    void setModifiedBy(U var1);

    /**
     * 获取更新日期
     *
     * @return 日期
     */
    LocalDateTime getGmtModified();

    /**
     * 设置跟新日期
     *
     * @param var1
     */
    void setGmtModified(LocalDateTime var1);
}
